<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>折り返し変更時、強制終了する。 | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀一般トップへ</a>
        <li><div class="list-title">
    <span class="no">4591</span>
    <a class="thread-title" href="4591.html#4591">折り返し変更時、強制終了する。</a></div>
    <ul><li><div class="list-title">
    <span class="no">4595</span>
    <a class="thread-title" href="4591.html#4595">Re: 折り返し変更時、強制終了する。</a></div>
    <ul><li><div class="list-title">
    <span class="no">4596</span>
    <a class="thread-title" href="4591.html#4596">Re2: 折り返し変更時、強制終了する。</a></div>
    <ul><li><div class="list-title">
    <span class="no">4598</span>
    <a class="thread-title" href="4591.html#4598">Re3: 折り返し変更時、強制終了する。</a></div>
    </li></ul></li><li><div class="list-title">
    <span class="no">4597</span>
    <a class="thread-title" href="4591.html#4597">Re2: 折り返し変更時、強制終了する。</a></div>
    </li></ul></li><li><div class="list-title">
    <span class="no">4601</span>
    <a class="thread-title" href="4591.html#4601">お試し版 (RE: 折り返し変更時、強制終了する。)</a></div>
    <ul><li><div class="list-title">
    <span class="no">4604</span>
    <a class="thread-title" href="4591.html#4604">Re:お試し版 (RE: 折り返し変更時、強制終了する。)</a></div>
    <ul><li><div class="list-title">
    <span class="no">4606</span>
    <a class="thread-title" href="4591.html#4606">Re2:お試し版 (RE: 折り返し変更時、強制終了する。)</a></div>
    <ul><li><div class="list-title">
    <span class="no">4608</span>
    <a class="thread-title" href="4591.html#4608">dev:4001動作が変です</a></div>
    <ul><li><div class="list-title">
    <span class="no">4613</span>
    <a class="thread-title" href="4591.html#4613">RE: dev:4001動作が変です</a></div>
    <ul><li><div class="list-title">
    <span class="no">4614</span>
    <a class="thread-title" href="4591.html#4614">Re2: dev:4001動作が変です</a></div>
    <ul><li><div class="list-title">
    <span class="no">4615</span>
    <a class="thread-title" href="4591.html#4615">Re3: dev:4001動作が変です</a></div>
    <ul><li><div class="list-title">
    <span class="no">4617</span>
    <a class="thread-title" href="4591.html#4617">Re4: dev:4001動作が変です</a></div>
    </li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">4618</span>
    <a class="thread-title" href="4591.html#4618">RE: dev:4001動作が変です</a></div>
    <ul><li><div class="list-title">
    <span class="no">4619</span>
    <a class="thread-title" href="4591.html#4619">Re2: dev:4001動作が変です</a></div>
    </li></ul></li></ul></li></ul></li></ul></li><li><div class="list-title">
    <span class="no">4620</span>
    <a class="thread-title" href="4591.html#4620">Re:お試し版 (RE: 折り返し変更時、強制終了する。)</a></div>
    </li></ul></li></ul></li>
    </ul><ul class="main"><li><section><h1 id=4591>
    <span class="no">[4591]</span>
    <a class="thread-title" href="#4591">折り返し変更時、強制終了する。</a>
    <span class="author">せくぱぱ</span>
    <time datetime="2005-08-08T18:28:51">2005年08月08日 18:28</time></h1>
    <div class="body">これが無ければ何もできない!!程、<br>毎日重宝し使わせて頂いております。<br><br>さて、サクラエディタ1.5.4.1にて、普段"折り返し"を有効<br>常態(桁数指定orウィンドウ幅指定どちでも再現)にして編集<br>しているのですが、例えば途中改行挿まず連続する文字<br>(ex.1234567890…)を半角７０文字続けたとし、自動折り返し<br>の桁設定を半角３０文字としてした場合、結果表示上３行に<br>折り返されて表示されると思います。<br><br>　例)　　　　　　　　　　　　　　　 ↓自動折り返し地点<br>　　＋―――――――――――――――<br>　 1｜123456789012345678901234567890<br>　 2｜123456789012345678901234567890<br>　 3｜1234567890<br><br>この状態で１文字目から７０文字目までを選択し、メニュー<br>から[設定(O)]→[折り返さない(W)]を実行すると、「問題が<br>発生したため、sakura.exe を終了します。 ご不便をおかけ<br>して申し訳ありません。」のウィンドウが出て、サクラ<br>エディタが強制終了されてしまいます。<br><br>使用環境のＯＳは ＷｉｎＸＰ ＳＰ２ です。<br>連続する文字数に大小は関係ないようです。<br>連続２５文字、折り返し桁１０文字で３行表示の場合、<br>連続１５０文字、折り返し桁７０文字で３行表示の場合、<br>これ以外でも再現可能です。ポイントは、途中改行なく<br>折り返し機能で３行以上表示される場合で、複数行選択<br>された状態から、[折り返さない(W)]を選択した場合です。<br><br>ご確認頂ければ幸いです。<br>よろしくお願い致します。</div></section>
    <ul><li><section><h1 id=4595>
    <span class="no">[4595]</span>
    <a class="thread-title" href="#4595">Re: 折り返し変更時、強制終了する。</a>
    <span class="author">もか</span>
    <time datetime="2005-08-08T21:19:29">2005年08月08日 21:19</time></h1>
    <div class="body">報告ありがとうございます。<br>私の所でも、確認できました。<br><br>選択範囲のバイト数表示で強制終了するらしく、ステータスバーを非表示にすると回避できるようです。<br>あと、バイト数表示で、EOFのみの行にカーソルがあると情報が表示されないです。<br></div></section>
    <ul><li><section><h1 id=4596>
    <span class="no">[4596]</span>
    <a class="thread-title" href="#4596">Re2: 折り返し変更時、強制終了する。</a>
    <span class="author">げんた</span>
    <time datetime="2005-08-09T01:33:14">2005年08月09日 01:33</time></h1>
    <div class="body">どうも折り返し幅の変更時に選択範囲を正しく調整できていないようですね．<br>例えば右側で折り返された1行目の全体を選択した後で折り返さないようにすると，何故か1行目全体が選択範囲になります．<br>本来であれば元々選択されていた文字の位置までが選択範囲となるべきでしょう．<br><br>今回の文字のカウントでは最初に行数を調べて，最終行以外にはデータが存在すると仮定して処理していたので，選択範囲はそのままで2行目が消えて無くなるとNullポインタアクセスで落ちてしまうようです．<br></div></section>
    <ul><li><section><h1 id=4598>
    <span class="no">[4598]</span>
    <a class="thread-title" href="#4598">Re3: 折り返し変更時、強制終了する。</a>
    <span class="author">せくぱぱ</span>
    <time datetime="2005-08-09T10:34:57">2005年08月09日 10:34</time></h1>
    <div class="body">▼ げんたさん<br>&gt; 例えば右側で折り返された1行目の全体を選択した後で<br>&gt; 折り返さないようにすると，何故か1行目全体が選択範囲<br>&gt; になります．<br>　逆に折り返さない状態で１行目の全体を選択した後、<br>　（選択開始位置は１文字目から文末までで）（行の途中で<br>　折り返されるように）折り返しを有効にすると、<br>　折り返された２行目が選択されていない状態になります。<br><br>　例)折り返ししていない状態で<br>　　 １行目を文頭から文末まで選択し<br>　　＋――――――――――――――――――――<br>　 1｜123456789012345678901234567890<br>　 2｜<br><br>　　　　　　　　　　　　　↓この位置で折り返し有効にすると<br>　　＋――――――――――――――――――――<br>　 1｜12345678901234567890　←１行目だけが選択された状態<br>　 2｜1234567890　　　　　　　になる。<br><br><br>　またこの状態でカーソル位置は２行目の文末にありますが、<br>　カーソルを左に１文字動かすと(この場合"0"から"9"へ)、<br>　１行目文頭からカーソル位置まで選択し直されるようです。</div></section>
    </li></ul></li><li><section><h1 id=4597>
    <span class="no">[4597]</span>
    <a class="thread-title" href="#4597">Re2: 折り返し変更時、強制終了する。</a>
    <span class="author">せくぱぱ</span>
    <time datetime="2005-08-09T09:32:22">2005年08月09日 09:32</time></h1>
    <div class="body">▼ もかさん<br>&gt; ステータスバーを非表示にすると回避できるようです。<br>　回避策ご教授ありがとうございます！<br>　ステータスバー表示環境に慣れてしまっているので<br>　ちょっと違和感がありますが、打ち込んだソースや<br>　文章を失うことを考えると仕方ないですね（汗<br>　ステータスバーうを非表示にしても、メニューバー右端<br>　に同様の内容(行:桁/文字コード)が表示されるので、<br>　代替できそうです。　ありがとうございました。</div></section>
    </li></ul></li><li><section><h1 id=4601>
    <span class="no">[4601]</span>
    <a class="thread-title" href="#4601">お試し版 (RE: 折り返し変更時、強制終了する。)</a>
    <span class="author">げんた</span>
    <time datetime="2005-08-14T16:12:03">2005年08月14日 16:12</time></h1>
    <div class="body">折り返し位置を変更した場合に選択範囲を調整するように修正したお試し版を作成しました．<br><br>http://members.at.infoseek.co.jp/sakura_editor/snapshot/sakura_2005-08-14.zip<br>ソース<br>http://members.at.infoseek.co.jp/sakura_editor/snapshot/ssrc_2005-08-14.tar.bz2<br><br>現在のウィンドウ幅に合わせる機能はタイプ別設定に反映してしまうために，別のウィンドウも同じ折り返し幅となります．これは変な気がしたので折り返し幅をウィンドウ毎に独立に持つようにして，ウィンドウ幅に合わせてもタイプ別設定の値は変更されないようにしました．<br><br>それ以外の修正点も入ってます．<br>2005.08.05 &gt;&gt;dev:4001 マクロ関数の追加(maruさん，(全略)さん)<br>2005.08.03 &gt;&gt;dev:4000「開こうとしたファイルが存在しないとき警告する」オプションの設定が保存／復元されない (ryojiさん)<br>2005.08.11 &gt;&gt;dev:4009 TAB表示時の「重ねて表示」でZ-orderが期待通りにならない (ryojiさん)<br>2005.08.14 &gt;&gt;data:4591 選択した状態で折り返し幅を変更するとアプリケーションエラーになることがある．<br></div></section>
    <ul><li><section><h1 id=4604>
    <span class="no">[4604]</span>
    <a class="thread-title" href="#4604">Re:お試し版 (RE: 折り返し変更時、強制終了する。)</a>
    <span class="author">maru</span>
    <time datetime="2005-08-15T17:34:39">2005年08月15日 17:34</time></h1>
    <div class="body">&gt; 折り返し位置を変更した場合に選択範囲を調整するように<br><br>矩形選択状態で[折り返し]-[解除]を行う場合は<br>選択範囲の現状維持は出来ないと思いますので<br>矩形選択範囲があれば選択解除？でしょうか。<br><br>矩形選択については今回の修正の対象外でしょうが<br>念のため報告いたします。<br><br><br>&gt; それ以外の修正点も入ってます．<br>&gt; 2005.08.05 &gt;&gt;dev:4001 マクロ関数の追加(maruさん，(全略)さん)<br><br>対応頂き、ありがとうございました。</div></section>
    <ul><li><section><h1 id=4606>
    <span class="no">[4606]</span>
    <a class="thread-title" href="#4606">Re2:お試し版 (RE: 折り返し変更時、強制終了する。)</a>
    <span class="author">げんた</span>
    <time datetime="2005-08-15T20:40:39">2005年08月15日 20:40</time></h1>
    <div class="body">&gt;矩形選択状態で[折り返し]-[解除]を行う場合は<br>&gt;選択範囲の現状維持は出来ないと思いますので<br>&gt;矩形選択範囲があれば選択解除？でしょうか。<br>確かに矩形の場合は始点・終点を維持しても中身が変わってしまいますから解除の方がいいですね．<br></div></section>
    <ul><li><section><h1 id=4608>
    <span class="no">[4608]</span>
    <a class="thread-title" href="#4608">dev:4001動作が変です</a>
    <span class="author">maru</span>
    <time datetime="2005-08-16T00:35:20">2005年08月16日 00:35</time></h1>
    <div class="body">▼ げんたさん<br>すいませんが、&gt;&gt;dev:4001の動きが変です。<br><br>ＷＳＨマクロでは気がつきませんでしたが<br>ＰＰＡマクロで期待の動作をしません。<br>//------------------------------------------------<br>MessageBox(IntToStr(S_GetCharCode()), 'title', 0);<br>MessageBox(IntToStr(S_GetCharCode() + 1), 'title', 0);<br>//EOF<br>のような内容で、1行目と2行目ののMessageBoxで<br>同じ値が表示されます。<br>私が追加したすべてのマクロで同じ現象が発生します。<br><br>//CMacro.cpp内のcase F_GETCHARCODE:<br>Wrap( &amp;Result )-&gt;Receive(View-&gt;m_pcEditDoc-&gt;m_nCharCode);<br>使い方間違っていますか？<br><br>素人で本当にすいません。取り急ぎご連絡まで。</div></section>
    <ul><li><section><h1 id=4613>
    <span class="no">[4613]</span>
    <a class="thread-title" href="#4613">RE: dev:4001動作が変です</a>
    <span class="author">げんた</span>
    <time datetime="2005-08-16T23:24:14">2005年08月16日 23:24</time></h1>
    <div class="body">&gt;のような内容で、1行目と2行目ののMessageBoxで<br>&gt;同じ値が表示されます。<br>View-&gt;m_pcEditDoc-&gt;m_nCharCode<br>は現在挿入される改行コードの種別を保持しているので，同じ値が返るのは別におかしくないです．<br><br>CharCodeという名前からして紛らわしいとは思っていたのですが...<br>ひょっとしてカーソル位置の文字コードを取得しようとしてました？<br></div></section>
    <ul><li><section><h1 id=4614>
    <span class="no">[4614]</span>
    <a class="thread-title" href="#4614">Re2: dev:4001動作が変です</a>
    <span class="author">もか</span>
    <time datetime="2005-08-17T00:23:38">2005年08月17日 00:23</time></h1>
    <div class="body">現象、私のほうでも確認できました。<br>IntToStr・MessageBox・演算子などは、PPA.dll内蔵部分なので良く分からないのですが、<br>MessageBox(IntToStr(S_GetCharCode()), 'title', 0);<br>MessageBox(IntToStr(1 + S_GetCharCode()), 'title', 0);<br>と、「1」と「S_GetCharCode()」の順番を入れ替えたら正常に表示されました。<br>PPA側の問題だと思います。<br><br>ついでに別件。。<br>CPPA::stdStrFuncの最後。<br>&gt;&#9;*ResultValue = "";<br>ローカルの文字列定数を返しているので、ポインタの値が不定になる可能性があります。<br></div></section>
    <ul><li><section><h1 id=4615>
    <span class="no">[4615]</span>
    <a class="thread-title" href="#4615">Re3: dev:4001動作が変です</a>
    <span class="author">maru</span>
    <time datetime="2005-08-17T00:41:19">2005年08月17日 00:41</time></h1>
    <div class="body">返信ありがとうございます。<br><br>▼げんたさん<br>&gt; CharCodeという名前からして紛らわし<br>良い名前が思い浮かびませんでした…。<br><br>▼もかさん<br>&gt; 「1」と「S_GetCharCode()」の順番を入れ替えたら<br>ご指摘のとおりでした。ただ、ちょっと問題が。<br>例1のような分岐をしたいのですが例2のように<br>記述する必要があるようです。<br><br>例1）<br>if S_GetCharCode(0) = 0 then<br>  MessageBox('SJIS', 'title', 0);<br><br>例2)<br>if 1 + S_GetCharCode(0) = 1 then<br>  MessageBox('SJIS', 'title', 0);<br><br>S_LineCountではこの現象が発生しません。<br></div></section>
    <ul><li><section><h1 id=4617>
    <span class="no">[4617]</span>
    <a class="thread-title" href="#4617">Re4: dev:4001動作が変です</a>
    <span class="author">げんた</span>
    <time datetime="2005-08-17T00:46:54">2005年08月17日 00:46</time></h1>
    <div class="body">すいません．思い切り外してました．<br>+1って一文字先じゃないですよね...orz<br></div></section>
    </li></ul></li></ul></li></ul></li><li><section><h1 id=4618>
    <span class="no">[4618]</span>
    <a class="thread-title" href="#4618">RE: dev:4001動作が変です</a>
    <span class="author">げんた</span>
    <time datetime="2005-08-17T01:04:32">2005年08月17日 01:04</time></h1>
    <div class="body">外したまま引き下がるのも何なので...<br><br>取り込み前に全ての追加関数についてPPAで動作確認はしました．ただ，いずれも戻り値を一旦変数に格納する形で使っていたので問題が発生しなかったのかもしれません．<br><br>var<br>&#9;message : string;<br>&#9;sx, sy, ex, ey : Integer;<br>&#9;linecode : Integer;<br>begin<br>&#9;message := '';<br>&#9;if S_IsTextSelected then<br>&#9;begin<br>&#9;&#9;sx := S_GetSelectColmFrom;<br>&#9;&#9;sy := S_GetSelectLineFrom;<br>&#9;&#9;ex := S_GetSelectColmTo;<br>&#9;&#9;ey := S_GetSelectLineTo;<br>&#9;&#9;message := message + '選択範囲(' + IntToStr(sx) + ',' + IntToStr(sy) + ')-(' + IntToStr(ex) + ',' + IntToStr(ey) + ')' + #13 + #10;<br>&#9;end;<br><br>&#9;if S_IsInsMode then<br>&#9;begin<br>&#9;&#9;message := message + '挿入';<br>&#9;end<br>&#9;else begin<br>&#9;&#9;message := message + '上書';<br>&#9;end;<br> <br>&#9;message := message + 'モード' + #13 + #10;<br> <br>&#9;linecode := S_Getlinecode;<br>&#9;case linecode of<br>&#9;&#9;0: message := message + '改行: CRLF';<br>&#9;&#9;1: message := message + '改行: CR';<br>&#9;&#9;2: message := message + '改行: LF';<br>&#9;end;<br> <br>&#9;message := message + #13 + #10 + 'Undo :';<br><br>&#9;if S_IsPossibleUndo then<br>&#9;&#9;message := message + '可能'<br>&#9;else<br>&#9;&#9;message := message + '不可';<br> <br>&#9;message := message + #13 + #10 + 'Redo :';<br>&#9;if S_IsPossibleRedo then<br>&#9;&#9;message := message + '可能'<br>&#9;else<br>&#9;&#9;message := message + '不可';<br><br>&#9;message := message + #13 + #10 + '文字コード種別: ' + IntToStr( S_GetCharCode );<br>&#9;S_GoFileEnd;<br>&#9;S_InsText(message);<br><br>end;<br><br>引数のない関数呼び出しで()をつけていないという違いもありますが，関係あるかな？<br></div></section>
    <ul><li><section><h1 id=4619>
    <span class="no">[4619]</span>
    <a class="thread-title" href="#4619">Re2: dev:4001動作が変です</a>
    <span class="author">maru</span>
    <time datetime="2005-08-17T02:26:45">2005年08月17日 02:26</time></h1>
    <div class="body">▼げんたさん<br>&gt; 引数のない関数呼び出しで()をつけていない<br>&gt; という違いもありますが，関係あるかな？<br>これが正解のようです。<br><br>確認したところ、下の結果になりました。<br>誤動作：if S_GetCharCode(0) = 0 then<br>誤動作：if S_GetCharCode() = 0 then<br>ＯＫ　：if S_GetCharCode = 0 then<br><br>試しに、CSMacroMgr.cppのmaru追加分について<br>-&#9;{F_*****,"*****",{VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_I4, NULL },<br>+&#9;{F_*****,"*****",{VT_I4, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_I4, NULL },<br>のようにすべて書き換えたところ、<br><br>ＯＫ　　　：if S_GetCharCode(0) = 0 then<br>文法エラー：if S_GetCharCode() = 0 then<br>文法エラー：if S_GetCharCode = 0 then<br>となりました。<br><br>現行バージョンでは、エラーが出ないので<br>誤った記述でもマクロが動いてしまうため<br>引数を強制したほうが無難に思います。</div></section>
    </li></ul></li></ul></li></ul></li></ul></li><li><section><h1 id=4620>
    <span class="no">[4620]</span>
    <a class="thread-title" href="#4620">Re:お試し版 (RE: 折り返し変更時、強制終了する。)</a>
    <span class="author">せくぱぱ</span>
    <time datetime="2005-08-17T09:12:17">2005年08月17日 09:12</time></h1>
    <div class="body">▼ げんたさん<br>&gt; 折り返し位置を変更した場合に選択範囲を調整するように修正したお試し版を作成しました．<br>&gt; 2005.08.14 &gt;&gt;data:4591 選択した状態で折り返し幅を変更するとアプリケーションエラーになることがある．<br>　修正版頂きましたっ<br>　早速試した所、App.Errorが発生しなくなったことを確認できました!!<br>　ご対応ありがとうございました。<br>　あと&gt;&gt;data:4599で選択範囲の残骸報告がありましたが、<br>　本修正版で試した所、改善されていること確認できました。</div></section>
    </li></ul></li></ul></li></ul></body></html>